<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>绑定事件</title>
    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://cdn.bootcss.com/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
    <div id="root"></div>
    <script type="text/babel">
    //1.在组件上绑定事件
    // class SayHello extends React.Component{
    //     showName(){
    //         alert('hello，myfriend')
    //     }
    //     render(){
    //         return <input type="button" onClick={this.showName} value="点击"/>
    //     }
    // }


    //2.构造函数中绑定事件
    //this指向本组件
    // class SayHello extends React.Component{
    //     constructor(){
    //         this.showName=this.showName.bind(this)
    //     }
    //     showName(){
    //         alert('hello，myfriend')
    //     }
    //     render(){
    //         return <input type="button" onClick={this.showName} value="点击"/>
    //     }
    // }


    //3.箭头函数绑定事件
    // class SayHello extends React.Component{
    //     showName(){
    //         alert('hello，myfriend')
    //     }
    //     render(){
    //         return <input type="button" onClick={()=>this.showName()} value="点击"/>
    //     }
    // }

    //说明：React的合成事件基本涵盖了平时项目中所有的事件类型
    //比如剪贴板事件、键盘事件、鼠标事件、表单事件、滚轮事件等
    ReactDOM.render(<SayHello/>,document.getElementById('root'))
    </script>
</body>
</html>